package patterndesign.compositepattern.version2;

import java.util.ArrayList;
import java.util.List;

public class Branch implements IBranch {

    /**
     * 领导人的名字
     */
    private String name;
    /**
     * 领导职位
     */
    private String position;
    /**
     * 薪水
     */
    private int salary = 0;

    /**
     * 领导人下级领导和小兵
     */
    List<ICrop> subordinateList = new ArrayList<>();

    /**
     * 通过构造函数传递信息
     *
     * @param name
     * @param position
     * @param salary
     */
    public Branch(String name, String position, int salary) {
        this.name = name;
        this.position = position;
        this.salary = salary;
    }

    /**
     * 增加下属 可能是小头目也可能是小兵
     *
     * @param crop
     */
    @Override
    public void addSubordinate(ICrop crop) {
        this.subordinateList.add(crop);
    }

    /**
     * 获取我的下属
     *
     * @return
     */
    @Override
    public List<ICrop> getSubordinate() {
        return this.subordinateList;
    }

    /**
     * 获取我自己的信息
     *
     * @return
     */
    @Override
    public String getInfo() {
        String info = "";
        info = "姓名：" + this.name;
        info = info + "\t职位：" + this.position;
        info = info + "\t薪水：" + this.salary;
        return info;
    }
}
